home *** CD-ROM | disk | FTP | other *** search
- TITL ' TMS7041 MODEM INITIALIZATION CODE '
- IDT 'DINIT1'
- OPTION XREF,TUNLST
- ************************************************************
- ** DINIT1.ASM **
- ** **
- ** This routine initializes the registers and constants **
- ** of the modem code. **
- ** **
- ** REVISION 1.0 11/12/85 PETER EHLIG **
- ** REVISION 1.1 1/28/86 PETER EHLIG **
- ** REVISION 1.2 5/20/86 PETER EHLIG **
- ** **
- ** COPYRIGHT TEXAS INSTRUMENTS, 07/25/86 **
- ** **
- ************************************************************
- * DEFINITIONS AND REFERENCES
- DEF INIT,SETBD
- REF TOP
- PAGE
- *
- COPY DTE2.EQU
- *******----------------------------------------*******
- ***** Initialization *****
- *******----------------------------------------*******
- INIT MOVP %>03,IOCNT0 ; s.c. mode and enable
- * ; ring indicate interrupt
- MOVP %>00,IOCNT1 ; disable int4 and int5
- MOVP %>1C,APORT ; initialize A port lines
- MOVP %>9C,ADDR ; set direction of APORT
- MOVP %>FE,BPORT ; initialize B port lines
- MOVP %>FB,CPORT ; initialize C port lines
- MOVP %>FF,CDDR ; set direction of CPORT
- MOVP %>CF,DPORT ; 320 in command mode, idle
- MOVP %>3F,DDDR ; D7,D6 INPUT, rest = OUTPUT
- ANDP %NOT6,BPORT ; Latch data into xmt.buffer
- ORP %BIT6,BPORT ; and reset RACK
- MOVP %>00,DDDR ; Reset DPORT lines in
- MOVP %110,T1DATA ; Set TIMER1, for 256 Hz
- MOVP %>8A,T1CNTL ; Start timer, set internal
- MOVP %155,T2DATA ; set timer 2 for 1000Hz
- MOVP %>81,T2CNTL ; start timer,use interrupt 2
- MOV %STACK,B ; initialize stack pointer
- LDSP ; load stack pointer
- *
- MOV %>D0,SWSTAT ; software flag defaults
- CALL @SETBD ; set DTE baud rate to 1200
- BR @TOP ; RETURN TO CALLING SEQUENCE
- *
- PAGE
- *******----------------------------------------*******
- ***** SET BAUD SUBROUTINE *****
- *******----------------------------------------*******
- SETBD EQU $
- MOV %>1D,A ; SET BAUD CLOCK FOR
- MOVP A,T3DATA ; FOR OVERSPEED DTE
- SETMOD MOVP %0,P17 ; Write to P17 to guarantee
- MOVP %>60,SCTL0 ; we are talking to SCTL0,
- * ; then reset serial port
- MOVP B,SMODE ;
- MOVP %>15,SCTL0 ;
- MOVP %>40,SCTL1 ;
- *
- MOVP %BIT6,SCTL0 ; Parity error, no parity
- MOVP %>6E,SMODE ; Disable parity of port
- MOVP %>15,SCTL0
- MOVP %>40,SCTL1
- RETS
- *
- END